package com.four.hospital.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.four.common.utils.R;
import com.four.hospital.entity.Doctor;
import com.four.hospital.vo.DoctorAndUserVo;
import com.four.hospital.vo.DoctorVo;
import com.four.hospital.vo.DoctorVo3;

import java.util.List;

/**
 * @Author:luojie
 * @Date: 2022/01/05/18:39
 * @Description
 */
public interface DoctorService {
    /**
     * 根据医院id，科室id，等级id查询医生信息
     * @param page
     * @param size
     * @param vo
     * @return
     */
    IPage<Doctor> doctorList(Integer page, Integer size, DoctorVo vo);

    /**
     * 根据医生id查询患者
     * @param docId
     * @param page
     * @param size
     * @return
     */
    IPage<DoctorAndUserVo> doctorUser(Integer docId,Integer page,Integer size);

    /**
     * 根据医生id回显到数据
     *
     * @param docId
     * @return
     */
    Doctor findById(Integer docId);


    /**
     * 根据医生id来修改审核状态
     *
     * @param docId
     * @param doctor
     * @return
     */
    void upDateDoctorById(Integer docId, Doctor doctor);

    /**
     * 输入医生姓名查询信息
     * @param dosName
     * @return
     */
    List<Doctor> getDoctor(String dosName);

    /**
     * 根据科室id查询所有医生
     * @param depId
     * @return
     */
    List<DoctorVo3> getDoctorByDepId(Integer depId);

    /**
     * 根据选中的城市查询这个城市所有有的医生
     * @param areaId
     * @return
     */
    R getDoctorByAreaId(Integer areaId);

    /**
     * 输入病症查询医生
     * @param diseName
     * @return
     */
    R getDoctorByDise(String diseName);

    /**
     * 修改医生的姓名和手机号
     * @param docName
     * @param docPhone
     * @param docId
     * @return
     */
    R updateDoctor(String docName, String docPhone, Integer docId);

    /**
     * 修改医生密码
     * @param oldPwd
     * @param newPwd
     * @param docId
     * @return
     */
    R updateDoctorPwd(String oldPwd, String newPwd, Integer docId);
}
